package enrique.kurso.lecionoj;


import java.io.IOException;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import android.app.Activity;
import android.content.Context;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.LinearLayout;
import android.widget.TextView;
import enrique.kurso.R;
import enrique.kurso.util.Utils;

public class Glosario extends Activity{
	public final String TITULO = "titulo";
	public final String PALABRAS = "palabras";
	public final String TRADUCCION = "traduccion";
	public final String BOTON = "boton";
	public final String SONIDO = "sonido";
	Button boton;
	String fichero;
	TextView titulo;
	MediaPlayer mp;
	int x;
	JSONArray palabras;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.glosario_layout);
        fichero = getIntent().getStringExtra("fichero");
        crearBotones(fichero);
	}    
	
	public void crearBotones(String fichero){
		JSONObject jObject = null;
		palabras = null;
		String tituloTx;
		Button boton;
		TextView traduccion;
		Context context = getApplicationContext();
		LinearLayout izquierda,derecha,botonGlosario;
		try {
			try {
				jObject = Utils.getJSONFromStream(getAssets().open(fichero));
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			if(jObject.has(TITULO)){
				titulo = (TextView) findViewById(R.id.titutlo);
				tituloTx = jObject.getString("titulo");
				titulo.setText(tituloTx);
				if(jObject.has(PALABRAS)){
					LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
					izquierda = (LinearLayout) findViewById(R.id.columnaIzquierda);
					derecha = (LinearLayout) findViewById(R.id.columnaDerecha);
					palabras = jObject.getJSONArray(PALABRAS);
					for(x=0;x<palabras.length();x++){
						botonGlosario = (LinearLayout) getLayoutInflater().inflate(R.layout.boton_glosario, null);
						boton = new Button(context);
						boton = (Button) botonGlosario.findViewById(R.id.boton);
						boton.setOnClickListener(new OnClickListener() {
							
							@Override
							public void onClick(View arg0) {
								String aux = (String) arg0.getTag();
								mp = MediaPlayer.create(getContext(), getResources().getIdentifier((String) arg0.getTag(), "raw", getPackageName()));
								mp.start();
							}
						});
						traduccion = (TextView) botonGlosario.findViewById(R.id.traduccion);
						boton.setText(palabras.getJSONObject(x).getString(BOTON));
						boton.setTag(palabras.getJSONObject(x).getString(SONIDO));
						traduccion.setText(palabras.getJSONObject(x).getString(TRADUCCION));
						if(x%2 == 0){
							izquierda.addView(botonGlosario);
						}else{
							derecha.addView(botonGlosario);
						}
					}
					//View v = getLayoutInflater().inflate(R.layout.YOUR_LAYOUT_ID, null);

				}else{
					//ERROR no hay palabras???
				}
			}else{
				//ERROR no hay titulo=???
			}
		} catch (JSONException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	private Context getContext() {
		  return this;
	  }
}
